from django.contrib.auth import get_user_model
from django.db import models

# Create your models here.

User=get_user_model()

# 博客分类
class BlogCategory(models.Model):
    # 名称
    name = models.CharField(max_length=200,verbose_name="名称")
    # 分类展示（下拉框时候）
    def __str__(self):
        return self.name

    class Meta:
        # 配置这些是为了让管理端显示中文
        verbose_name='分类'
        # 复数
        verbose_name_plural=verbose_name

# 博客（文章）
class Blog(models.Model):
    # 标题
    title = models.CharField(max_length=200,verbose_name='标题')
    # 分类id
    category = models.ForeignKey(BlogCategory, on_delete=models.CASCADE,verbose_name='分类')
    # 作者id
    author = models.ForeignKey(User, on_delete=models.CASCADE,verbose_name='作者')
    # 内容
    content = models.TextField()
    # 法布时间
    pub_time = models.DateTimeField(auto_now_add=True,verbose_name='发布时间')
    def __str__(self):
        return self.title
    class Meta:
        verbose_name='博客'
        verbose_name_plural=verbose_name
        ordering=('-pub_time',)

# 评论
class BlogComment(models.Model):
    # 评论发布人（不是博主）
    author = models.ForeignKey(User, on_delete=models.CASCADE,verbose_name='评论发布人')
    # 内容
    content = models.TextField(verbose_name='内容')
    # 博客id
    blog = models.ForeignKey(Blog, on_delete=models.CASCADE,related_name='comments',verbose_name='所属博客')
    # 发布时间
    pub_time = models.DateTimeField(auto_now_add=True,verbose_name='发布时间')
    def __str__(self):
        return self.content
    class Meta:
        verbose_name='博客评论'
        verbose_name_plural=verbose_name
        ordering=['-pub_time']
